Short Message Service (SMS) is used by messaging services to communicate to wireless devices. For example, wireless carriers provide SMS to their cell phone customers for text messaging.
SMS is used for sending and receiving text messages between a messaging service and a mobile device. The messages are limited in length and cannot be longer than 160 characters or contain images or graphics.
Typically, SMS is used for one-to-one messaging. In this instance, each user is assigned a unique subscriber number that other users can use to send a message to the owner of that subscriber number. Users can also send messages to multiple other users by specifying a plurality of subscriber numbers to send a message. Then, multiple messages are sent from the user's device. In order for the recipient of one of these messages to reply, he/she also may have to send a message multiple times, one for each recipient. Since there is a cost associated with each message sent, sending multiple copies of the same message, when sending to a group of users, can be costly and inefficient to the user.
As a result of this, a number of group messaging services have been created. By using a group messaging service, a user no longer has to send copies of the same message to each member of a group of other users, but only send one message to a central group subscriber number owned by the service provider. When the service provider receives a message from a user subscriber number associated with a user to a group subscriber number, the service provider will then send out a copy of this message to each member of the group which is the desired destination of the message from the user. Creating groups and managing them is often done either through text based commands sent to the service provider via SMS or through an interactive user portal accessible via a web browser or mobile application.
The use of a group messaging service to send the message received from a user to multiple groups of users removes the inefficiency and cost from the user, however it passes these disadvantages to the service provider instead. One large cost incurred by the service provider is due to required maintenance of group subscriber numbers. Typically, the service provider will assign a unique group subscriber number for each group that exists in its system. The users, of course, already have each been assigned a unique subscriber number by their service provider (e.g., AT&T, Verizon, etc.). This way, when the service provider receives a message to that group subscriber number, it knows to which group that message is being directed and can forward the message to the associated members of that group. This results in the service provider requiring a subscriber number per group, which leads to an ever increasing rise in costs as the service grows and ever more users define even more groups.
For example, one popular group messaging service which does this is GroupMe. GroupMe's service informs the user that there is a unique group subscriber number dedicated to a user-defined group and what that new group subscriber number is (which can then be shared to other users).
However, a service assigning one group subscriber number per group requires possibly a very large pool of subscriber numbers to be maintained. For example, for a service that has 100,000 users, even if each user were to create just one group, then this would still require 100,000 individual group subscriber numbers. It is noted that in a conventional system, the assignment is for one subscriber number per group, not one subscriber number per user per group.
Therefore, it would be beneficial if a method allowed a group messaging service to operate using only a small fixed pool of group subscriber numbers, yet still appear to provide a single subscriber number-per-group concept to the end user for a theoretically limitless number of users.
In one exemplary illustrative non-limiting implementation, a much smaller pool of group subscriber numbers is required for the group messaging service, the number of which is not determined by the number of users or groups that are created. Instead, the size of the group subscriber number pool is equal to the number of separate groups of which any single user is permitted to become a member. For example, if the service allows a single user to be a member of only 10 groups at once, then only 10 group subscriber numbers are required for the entire system. The total number of users on the service is now irrelevant (insofar as maintenance of group subscriber numbers is concerned), as the service having only 10 group subscriber numbers would work equally well with 100 users, 100,000 users or 1,000,000 users. Even if a user were permitted to be part of as many as 100 groups at once (which would be heavy usage for a group messaging service), it would still require only 100 group subscriber numbers, a lot less than a large scale service using a separate unique subscriber number per group. By using significantly fewer group subscriber numbers, the management of subscriber numbers in, e.g., an SMS group messaging service, an ever increasing variable cost to the SMS business is reduced into a much smaller fixed cost.